#ifndef MENU_ITEM_H_
#define MENU_ITEM_H_

#include <string>
#include <sstream>

// other types
#include "Description.h"
using namespace std;

struct Menu_Item
{
public:
	// constructors
	Menu_Item (int id, int cat, int rec, string n, double amt, Description s)	//uncomment once you have added the type definition
		: menu_item_id(id), cat_id(cat), recipe_id(rec), menu_item_name(n), price(amt), descr(s) {}

   // utility functions
	/* The following utility functions were written by Eric Heisler, solving problem A3 */
	string display() const {
		string disp = "";
		std::ostringstream s;
		s << menu_item_name << " $" << price;
		//disp = menu_item_name + " $" + ((string)price);
		return s.str();
	};
	int get_cat_id() const {
		return cat_id;
	};
	string get_menu_item_name() const {
		return menu_item_name;
	};
	string get_descr() const {
		return menu_item_name + ": " + descr.display();
	};
	/* End of code written by EMH */
private:
   //constants
     
   // private data
	int menu_item_id;
	int cat_id;
	int recipe_id;
	string menu_item_name;
	double price;
	Description descr;
   
};


#endif //MENU_ITEM_H_
